package com.atguigu.crowd.util;

import java.util.HashSet;
import java.util.Set;

import javax.management.RuntimeErrorException;

import com.atguigu.crowd.constant.CrowdConstant;

public class JudgeResourceAccess {
	
	//用于存储资源路径
	public static Set<String> PASS_RES_SET = new HashSet<>();
	//不需要登录的路径资源
	static {
		PASS_RES_SET.add("/");//首页资源
		PASS_RES_SET.add("/auth/member/to/reg/page");//跳转注册页面资源
		PASS_RES_SET.add("/auth/do/member/register");//注册页面资源
		PASS_RES_SET.add("/auth/member/to/login/page");//跳转登录页面资源
		PASS_RES_SET.add("/auth/member/do/login");//登录页面资源
		PASS_RES_SET.add("/auth/member/logout");//退出系统资源
		PASS_RES_SET.add("/auth/member/send/short/message.json");//发生验证码资源
		PASS_RES_SET.add("/project/get/all/project/page");//所有项目页面
		
		
	}
	
	//用于存储静态资源
	public static Set<String> PASS_STATIC_SET = new HashSet<>();
	//不需要登录的静态资源
	static {
		PASS_STATIC_SET.add("bootstrap");
		PASS_STATIC_SET.add("css");
		PASS_STATIC_SET.add("fonts");
		PASS_STATIC_SET.add("img");
		PASS_STATIC_SET.add("jquery");
		PASS_STATIC_SET.add("layer");
		PASS_STATIC_SET.add("script");
		PASS_STATIC_SET.add("ztree");
	}
	
	/**
	 * 
	 * @param servletPath 静态资源路径
	 * @return 
	 * 			true:是静态资源，不需要登录
	 * 			false:不是静态资源，需要登录
	 */
	public static boolean judgeCurrentPathIsStaticRes(String servletPath) {
		if (servletPath==null || servletPath.length()==0) {
			throw new RuntimeException(CrowdConstant.MESSAGE_STRING_INVALIDATE);
		}
		String[] split = servletPath.split("/");
		String firstPath = split[1];
		//判断是否为静态资源
		return PASS_STATIC_SET.contains(firstPath);
	}
}
